<?xml version="1.0" encoding="UTF-8"?>
<html filename="docs/BSAX/IBufferedXMLReader.html">
<body>
<a id="#top"/>
<h1>
	                Interface Summary : IBufferedXMLReader </h1> Interface for reading an XML document using callbacks.

 <blockquote>
 <em>This module, both source code and documentation, is in the
 Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
 </blockquote>

 <p>XMLReader is the interface that an XML parser's SAX2 driver must
 implement.  This interface allows an application to set and
 query features and properties in the parser, to register
 event handlers for document processing, and to initiate
 a document parse.</p>

 <p>All SAX interfaces are assumed to be synchronous: the
 <a href="../BSAX/IBufferedXMLReader.html#parse">parse</a> methods must not return until parsing
 is complete, and readers must wait for an event-handler callback
 to return before reporting the next event.</p>

 <p>This interface replaces the (now deprecated) SAX 1.0 <a href="../SAX/IParser.html">IParser</a>
 interface.  The XMLReader interface contains two important enhancements over the old Parser
 interface (as well as some minor ones):</p>

 <ol>
 <li>it adds a standard way to query and set features and
  properties; and</li>
 <li>it adds Namespace support, which is required for many
  higher-level XML standards.</li>
 </ol>

 <p>There are adapters available to convert a SAX1 Parser to
 a SAX2 XMLReader and vice-versa.</p>

 <p>For reasons of generality and efficiency, strings that are returned
 from the interface are declared as pointers (PSAXChar) and lengths.
 This requires that the model use procedural out parameters rather
 than functions as in the original interfaces.</p>

<br/><b>Since : </b> SAX 2.0
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLFilter.html">IBufferedXMLFilter</a>
<h2>
	              Methods
	            </h2>
<div style="padding-left:10px">
<a href="#setDTDHandler">
	                  procedure
	                 setDTDHandler(IBufferedDTDHandler)</a>
<br/>
<a href="#getDTDHandler">
	                  function
	                 getDTDHandler() : IBufferedDTDHandler</a>
<br/>
<a href="#setContentHandler">
	                  procedure
	                 setContentHandler(IBufferedContentHandler)</a>
<br/>
<a href="#getContentHandler">
	                  function
	                 getContentHandler() : IBufferedContentHandler</a>
<br/>
</div>
<br/>
<h2>
	                Properties
	              </h2>
<div style="padding-left:10px"/>
<br/>
<hr width="100%"/>
<a name="#setDTDHandler">
<p>
<b>procedure</b> setDTDHandler(<b>const</b> handler : IBufferedDTDHandler); </p>
</a> Allow an application to register a DTD event handler.

 <p>If the application does not register a DTD handler, all DTD
 events reported by the SAX parser will be silently ignored.</p>

 <p>Applications may register a new or different handler in the
 middle of a parse, and the SAX parser must begin using the new
 handler immediately.</p>

<br/><b>Parameter : </b> handler The DTD handler.
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLReader.html#getDTDHandler">IBufferedXMLReader.getDTDHandler</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getDTDHandler">
<p>
<b>function</b> getDTDHandler() : IBufferedDTDHandler; </p>
</a> Return the current DTD handler.

<br/><b>Result : </b> The current DTD handler, or null if none
         has been registered.
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLReader.html#setDTDHandler">IBufferedXMLReader.setDTDHandler</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#setContentHandler">
<p>
<b>procedure</b> setContentHandler(<b>const</b> handler : IBufferedContentHandler); </p>
</a> Allow an application to register a content event handler.

 <p>If the application does not register a content handler, all
 content events reported by the SAX parser will be silently
 ignored.</p>

 <p>Applications may register a new or different handler in the
 middle of a parse, and the SAX parser must begin using the new
 handler immediately.</p>

<br/><b>Parameter : </b> handler The content handler.
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLReader.html#getContentHandler">IBufferedXMLReader.getContentHandler</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getContentHandler">
<p>
<b>function</b> getContentHandler() : IBufferedContentHandler; </p>
</a> Return the current content handler.

<br/><b>Result : </b> The current content handler, or nil if none
         has been registered.
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLReader.html#setContentHandler">IBufferedXMLReader.setContentHandler</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<div style="padding-left:10px">
<hr width="100%"/>
<a name="#ContentHandler">
<p> <b>ContentHandler</b>
</p>
</a> Extension property to get and set the ContentHandler

<br/><b>Result : </b> The current content handler, or nil if none
         has been registered.
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLReader.html#getContentHandler">IBufferedXMLReader.getContentHandler</a>
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLReader.html#setContentHandler">IBufferedXMLReader.setContentHandler</a>
<br/>
<p style="margin-left:30px">
<code>property ContentHandler: IBufferedContentHandler
      read getContentHandler write setContentHandler</code>
</p>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#DTDHandler">
<p> <b>DTDHandler</b>
</p>
</a> Extension property to get and set the DTDHandler

<br/><b>Result : </b> The current DTD handler, or nil if none
         has been registered.
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLReader.html#getDTDHandler">IBufferedXMLReader.getDTDHandler</a>
<br/><b>See : </b> <a href="../BSAX/IBufferedXMLReader.html#setDTDHandler">IBufferedXMLReader.setDTDHandler</a>
<br/>
<p style="margin-left:30px">
<code>property DTDHandler: IBufferedDTDHandler
      read getDTDHandler write setDTDHandler</code>
</p>
<p>
<a href="#top">Top</a>
</p>
</div>
<br/>
</body>
</html>